/**
 * 
 * 函数function 函数名 （参数：类型，...）：返回值{}
 *      function add(x:number, y:number):number {
 *          return x + y;
 *      }
 * 函数签名：对传递的函数进行约束
 *      （参数：类型，...）=> 返回值
 * 
 * 接口：
 *      interface Ixx{
 *          属性名:类型
 *      }
 * 
 */

export { };

// 1 申明变量
let a: number = 123;


// 2 函数里面面用到的类型约束的语法：
function add(a: number, b: number): number {  //:number{} 约束的是返回值
    return 20;
}


// 3 函数签名的使用,经常用在react: 实例：05-fun.tsx   void:空
function fn(ff: () => void) {  //函数签名：对传递的函数进行约束
    ff();
}
// fn((a:number)=>{})   因为上面已经约束了传递的函数不能有任何类型和值。
fn(() => { })


// 4 接口的使用：
interface IUser {
    name: string;
    age: number;
}
